package com.qzsoft.zhjd.machine.modules.machinerealtime.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.qzsoft.zhjd.machine.modules.machinerealtime.dto.MachineRealtimeDto;
import com.qzsoft.zhjd.machine.modules.machinerealtime.dto.MachineStateCountDto;
import com.qzsoft.zhjd.machine.modules.machinerealtime.entity.MachineRealtimeEntity;

/**
 * @ClassName MachineRealtimeMapper
 * @Description 实时数据数据库接口
 * @author linhuawei
 * @since 2021-11-08
 */
@Mapper
public interface MachineRealtimeMapper extends BaseMapper<MachineRealtimeEntity> {

    /**
     * @Title queryDto
     * @Description 获取机械设备实时数据分页列表
     * @param page   分页条件
     * @param params 查询条件
     * @return 机械设备实时数据分页列表
     */
    public IPage<MachineRealtimeDto> queryDto(IPage<MachineRealtimeDto> page,
            @Param("params") Map<String, Object> params);

    /**
     * @Title queryDto
     * @Description 获取机械设备实时数据分页列表
     * @param page   分页条件
     * @param params 查询条件
     * @return 机械设备实时数据分页列表
     */
    public List<MachineRealtimeDto> queryDto(@Param("params") Map<String, Object> params);

    /**
     * @Title countState
     * @Description 根据状态获取统计信息
     * @param params 查询条件
     * @return 统计信息
     */
    public MachineStateCountDto countState(@Param("params") Map<String, Object> params);

    /**
     * @Title machinePage
     * @Description 获取设备分页数据
     * @param page   分页条件
     * @param params 查询条件
     * @return 设备分页数据
     */
    public IPage<MachineRealtimeDto> machinePage(IPage<MachineRealtimeDto> page,
            @Param("params") Map<String, Object> params);

}
